package com.ioday01demo;

/*
   io流：Input和Output ,即：输入和输出 相对于程序的读 ， 写

   Java 将输入和输出用"流Stream"表达，分输入流和输出流，
   我们可以将它们想象为连接我们的程序和另一个设备之间的"管道"，通过他们可以读写设备
   Java将输入流和输出流定义了两个对应的超类 InoutStream和OutputS：
   1)InoutStream：
     输入流，方向从外界到程序的方向，用于读取数据的流，是一个抽象类，定义了读取字节的相关方法

   2)OutputStream:
      输出流：方向是从程序到外界的方向，用于写出数据的流，是一个抽象类，定义了写出字节的相关方法

 文件流： FileInputStream和FileOutputStream
 文件流继承子 InoutStream和OutputStream，用于对文件惊醒读写操作
 */

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FOSDemo {
    public static void main(String[] args) throws IOException {
        /*
        第二种构造方法 因为输出流没有文件会自己创建
        但是调用现有文件输出时 如果 目录 abc不存在 则会报错
        先用exists方法判断是否存在目录 不存在需要创建 mkdirs
        File file = new File("./abc/fos.dat");
        FileOutputStream foss = new FileOutputStream(file);
*/

                                                                 //追加  append
        FileOutputStream fos = new FileOutputStream("fos.dat",true);

        //fos.write(1);//想fos.dat中写入1个字节
        //fos.write(2);//想fos.dat中写入1个字节
        fos.write(97);



        System.out.println("写入完毕");
        //fos.close();//关闭流  (删除文件，显示被其他程序占用 无法删除 这样)
    }
}
